hamiltonian and gradient systems